package com.z.sys.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.z.common.web.vo.request.PageVo;
import com.z.sys.entity.Dept;
import com.z.sys.vo.DeptExcelVo;

import java.util.List;

/**
 * 机构管理Service接口
 *
 * @author z
 * @date 2022-11-07
 */
public interface IDeptService extends IService<Dept> {

    /**
     * 查询机构管理
     * @param dept 机构管理
     * @param pageVo
     * @return 机构管理 分页集合
     * */
    PageInfo<Dept> selectDeptPage(Dept dept, PageVo pageVo, String model);
    /**
     * 查询机构管理
     * @param dept 机构管理
     * @return 机构管理
     * */
    List<Dept> selectDeptList(Dept dept, String model);

    /**
     * 根据角色权限获取单位集合
     * @return
     */
    List<Dept> getUnitListByRole(String model);

    /**
     * 根据角色权限获取机构集合 考勤模块
     * @return
     */
    List<Dept> getDeptListByRole();

    /**
     * 查询机构信息
     * @param dept
     * @return
     */
    List<DeptExcelVo> selectDeptInfoList(Dept dept);

    /**
     * 保存机构集，填充全路径，上级机构id
     * @param deptList
     * @return
     */
    boolean saveToDB(List<Dept> deptList);
}
